package cn.leelei.hibernate.test.entity;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import cn.leelei.hibernate.entity.IDcard;
import cn.leelei.hibernate.entity.Role;

public class OneToOne {

	private EntityManagerFactory createEntityManagerFactory;

	@Before
	public void before() {
		// 通过 Persistence得到 EntityManagerFactory 实体管理工厂对象
		createEntityManagerFactory = Persistence.createEntityManagerFactory("jpa");

	}

	@After
	public void after() {
		if (createEntityManagerFactory != null) {
			createEntityManagerFactory.close();
		}
	}

	/**
	 * 测试多对一 关系哦 邮箱 和角色之间关系 多对一
	 */
	@Test
	public void Savetest() {
		// 通过实体管理工厂对象createEntityManagerFactory 对象获得entityManager 实体管理
		EntityManager entityManager = createEntityManagerFactory.createEntityManager();
		// 通过entityManager 实体管理对象 对象获得EntityTransaction 事务
		EntityTransaction transaction = entityManager.getTransaction();
		// 开启事务
		transaction.begin();

		// 获得idcard对象
		IDcard idcard = new IDcard();
		idcard.setNumber("100000000000");

		// 处理省份证和角色的关系
		Role role = new Role();
		role.setId(5);
	
		// 将角色添加给角色
		idcard.setRole(role);

		// 持久化对像
		entityManager.persist(idcard);// 保存邮箱
		// 通过transaction 提交事务
		transaction.commit();
		// 关闭实体管理
		entityManager.close();

	}


}
